home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix CD 5.0
/
Phoenix-CD 5.0.iso
/
nightowl.008
< prev
next >
Wrap
Text File
|
1994-04-12
|
124KB
|
2,245 lines
UNITED STATES DISTRICT COURT
WESTERN DISTRICT OF NEW YORK
- - - - - - - - - - - - - - - - - - - - - -
RICHARD E. GRAHAM,
CASE NO. 91-CV-800
Plaintiff,
Buffalo, New York
-vs- October 16, 1993
9:00 a.m.
LARRY E. JAMES,
Defendant.
- - - - - - - - - - - - - - - - - - - - - -
HEARING
(Excerpted testimony of STEPHEN J. BROWN)
(continued from 10-12-93/Cross Redirect Recross)
BEFORE THE HONORABLE JOHN T. ELFVIN
UNITED STATES DISTRICT COURT JUDGE
Appearances:
For the Plaintiff: DENIS A. KITCHEN, ESQ.
8340 Main Street
Williamsville, NY 14221
For the Defendant: JAMES OSTROWSKI, ESQ.
384 Ellicott Square Building
Buffalo, New York 14203
Court Recorder: JEANNE B. SCHULER
Transcription Service: ASSOCIATED REPORTING SERVICE
Lower Level One
120 Delaware Avenue
Buffalo, New York 14202
716-856-2328
Proceedings recorded by electronic sound recording,
transcript produced by transcription service.
P R O C E E D I N G S
THE COURT: What are we on, redirect now or what?
MR. KITCHEN: Yes, sir, I believe we are.
THE COURT: You had finished your cross
examination, Mr. Ostrowski?
MR. OSTROWSKI: Well, I had except I guess I was
supposed to be supplied notes, but I don't care what order we
do it in.
THE COURT: Have you seen the notes?
MR. OSTROWSKI: I haven't seen the notes, no.
THE COURT: We better go in the proper order and
you complete your cross examination.
CONTINUED CROSS EXAMINATION OF STEPHEN JAMES BROWN
BY MR. OSTROWSKI:
Q Good morning, Professor Brown.
A Hello.
Q Just to clear up some of the old, old business, I
believe you'd stated the other day that you had no notes on
anything except five modules?
A That's correct.
Q Okay. And what modules were those?
A Looking at Exhibit No. 50, sheet No. 9, the DIR-module,
on sheet No. 10, the goodbye module.
THE COURT: What was the module on sheet nine?
THE WITNESS: On sheet No. 9, Your Honor, it was
DIR, D-I-R.
THE COURT: D-I-R, yeah.
THE WITNESS: On sheet ten, it was goodbye, B-Y-E.
One sheet No. 18, execute, E-X-E-C-U-T-E. On sheet No. 24,
unzipit, U-N-Z-I-P-I-T, all one word; and on sheet No. 33, D-
O-S-C-M-D.
BY MR. OSTROWSKI:
Q Is it fair to say you started with the earliest - -
Well, did you form an opinion as to which of these programs
- - Let me strike that. Were you - - Were you told which
programs - - which was the first program?
A No.
Q Okay. Did you form an opinion as to which came first?
A Only by the time/date stamp that appeared on the source
code floppy disks.
Q Okay. So other than that, you have no idea which came
first out of 50, 49 and 48?
A If I can trust the first couple lines at the top,
Exhibit No. 49, sheet 1 says copyright 1992.
Q Oh, I'm asking you to disregard the dates on there, and
other than that, did you form any opinion as to which came
first?
A No, I couldn't determine that other than the time and
date stamp that I had reference to earlier.
Q Well, did you start your analysis with Exhibit 50?
A Yes.
Q Why?
A It appeared to have the oldest date.
Q Okay. And I believe you stated the other day that you
picked these five modules at random?
A Sort of at random. Typically when I look at my
students' assignments, I look how my students start things.
I look how my students end things, and then I pick some
things in the middle that I think are really important,
germane to the functioning of their assignment. I did the
same thing here. I looked at how I wanted to find the module
that first started the opening screen, find the module that
had the ending screen and then pick what I thought were three
important actions in this particular assignment.
Q Okay. So today you're saying that these are five
important modules?
A No.
Q No? That's what you just said, though?
A I said there are three important modules in the middle.
There is an opening screen, three important modules in the
middle and the ending screen.
Q Well, the opening and ending screens are pretty
important, aren't they? Or not?
A Yes.
Q Okay. So you're saying today that the five modules
you've analyzed are very important, or are important?
A Are important, yes.
Q Okay. But the other day you just picked them at random
and they weren't particularly important, isn't that correct?
A I can't recall exactly what I said the other day, but I
picked three modules at random from the center portion, yes.
Q Okay. But the other day you said you picked all five at
random, isn't that correct?
A I can't recall. That may be correct.
Q Okay. Have you modified your testimony to respond to
the points that I raised on cross examination?
A I don't understand. Modified what?
Q Well, I asked you if you picked them at random and you
said yes. Have you had a chance to sit down over the weekend
and think about, boy, maybe that's not the best answer to
advance my client's interests. Have you now changed - -
THE COURT: My client? My client?
MR. OSTROWSKI: Well - -
THE COURT: Well you used the term. I'm just
wondering.
BY MR. OSTROWSKI:
Q Well, you're working for Mr. Graham, aren't you?
A No.
Q You're not?
A No.
Q Who are you working for?
A Myself.
Q Okay.
A He asked me to testify.
Q He's not paying you?
A No, I have not received a penny. I paid my own gas. I
paid my own tolls. However, I did receive a ham and cheese
lunch on Tuesday.
Q Oh, that's very amusing. Didn't you say the other day
that you expected to be compensated?
A Yes.
Q Are you aware that experts such as yourself can charge a
hundred or a hundred and fifty dollars an hour?
A Yes.
MR. KITCHEN: Your Honor, I'm going to object - -
THE COURT: No, please.
MR. KITCHEN: - - right now - -
MR. OSTROWSKI: Fine.
MR. KITCHEN: - - and I'm going to object to
counsel and, for that matter, I'm going to object to the
court attempting to educate this man in the witness box as to
the potential he could be getting from my client - -
MR. OSTROWSKI: Exactly what I'm doing.
MR. KITCHEN: Well, that's against my client's
financial interests, just as it was when you said the same
thing to Mr. Swanson.
BY MR. OSTROWSKI:
Q Are you aware that you could receive a hundred or $150
an hour generally for testifying in court?
A Yes.
Q And how many hours have you put into this case so far?
A Twenty, thirty.
Q So you could - - Are you aware that you could send him a
bill for $2,500 - -
MR. KITCHEN: Your Honor, I'll object that - -
THE COURT: You can't, you can't now.
MR. KITCHEN: - - that's speculative and
irrelevant.
THE COURT: Yeah. Any such compensation would be
pre-arranged, wouldn't it, Professor Brown? Isn't that
right?
THE WITNESS: What's that?
THE COURT: You'd get any such compensation
arranged at the outset if there were to be any, wouldn't you?
THE WITNESS: We never talked money. He said
expenses.
THE COURT: But if you were to be compensated, you
would understand you'd do that at the outset? If you were
going to do a job, you'd know how much you were going to be
paid before you started?
THE WITNESS: Oh, absolutely.
THE COURT: Sure.
THE WITNESS: I'd prepare a written quotation.
MR. OSTROWSKI: Your Honor, all I'm asking the
witness is he has an absolute right to be paid under the - -
THE COURT: Not at this point unless he's made some
arrangement.
MR. OSTROWSKI: Your Honor, I respectfully would
suggest that under the theory of quantum meruit - -
THE COURT: No.
MR. OSTROWSKI: - - an expert has a right to be
paid - -
THE COURT: No.
MR. OSTROWSKI: - - at market rates.
THE COURT: No. The court will say no, not unless
pre-arranged.
MR. OSTROWSKI: Then I'm in big trouble in my
particular situation.
BY MR. OSTROWSKI:
Q With respect to the DIR program in Plaintiff's 50, what
did you do next in your analysis?
A I did two steps. Step number one was to actually see
this DIR module in action on the CD-ROM. Then I - - after I
saw it in action, I compared the source code of Exhibit No.
49 with the source code of 50. I also compared the operation
of the DIR module from the CD-ROM or from the floppy disk, in
this case, with execution from Exhibit No. 50, how they
actually functioned on a computer.
Q Do you have any notes, going back to my other points, do
you have any notes on this analysis?
A I have a few.
Q Are they with you?
A Yes.
Q Are these all of your notes from - -
A That's all of them.
THE COURT: You say you have a few. Does that mean
that there are others elsewhere or were others which you now
don't have?
THE WITNESS: This is all that I have, and the
number is few, it's either three or four, Your Honor.
BY MR. OSTROWSKI:
Q Three or four what?
A Pages.
Q Showing you Defendant's Exhibit 15, are these your
notes?
A Yes.
Q Now, the first couple of pages of the notes, do you list
- - there's a listing of modules on the far left side?
A Correct.
Q Where are those from? Are those from Plaintiff's 50?
A Yes.
Q Okay. And how many approximately are listed on the two
pages?
A Forty-eight modules.
Q And you only have notations for five?
A Correct.
Q Okay. Did you compare the - - You stated that you
compared the source codes from DIR in 50 to - - Was there a
comparable program in 49?
A Yes.
Q What was it called?
A Well, I have to consult my notes, whatever it was called
on my notes.
Q Okay.
A I also have the page where it references to the
exhibits. The corresponding module from Exhibit No. 49 is
found on sheet 7.
Q What's it called?
A It's part of another module. This one I have to look
within the main module to find the same functionality.
Q And did you find the same functionality?
A Yes.
Q Now just to clarify because I think these are maybe in
reverse order or whatever it is, 49, the one that is dated
the second in the series?
A Yes.
Q And 48, ironically, is the one that's dated last?
A Correct.
Q So we're working in reverse order?
A Correct.
Q Did you compare, within that part of the main module
that was similar, did you compare any of the source codes?
A Absolutely.
Q And were any of the source codes similar between those
two?
A Similar in functionality, yes.
Q Well, I'm asking you were they literally similar?
A Absolutely not.
Q Okay. But they were similar in functionality?
A Yes.
Q And what does the program in DIR-50 do?
A The program - -
Q Are you testifying from your notes at this point?
A No, I'm looking at the program.
Q Go ahead.
A I'm looking at sheet 9 of Exhibit No. 50. This DIR
module goes to the disk to find out the categories that are
available for selection, clears the screen and places these
categories on the screen for the user to use, and at the
bottom of the screen, it presents two menus, one to enter a
number, U for user directory, S for search, E for set-up, D
for DOS and Q to quit. Then it waits for the user to do
something, and based upon what the user does, there are a
series of if statements checking to see is it H, and if it is
H, go and get some help. If it is D, go, indeed, go and do
this DOS command. Then he further checks to see whether it
was a Q or a null return, and then after he does that, he
comes back down, clears the screen, presents the windows
again.
Q Okay. And are those functions substantially similar to
the same module in 49?
A (No response.)
Q I'm just asking yes or no at this point.
A Partially.
Q Can you quantify that or is that not possible?
A There is a totally different approach in number - -
Q I'm just asking you if you can quantify that with a
degree of similarity or is that - - does quantification not
apply to the degree of similarity?
A Are we talking about functionality or the exact lines to
accomplish it?
Q Well, I believe you stated that the source codes are not
similar?
A Correct, they are not.
Q They're absolutely not similar? In other words, are
there any lines that are similar?
A Yes.
Q Well, how many lines are similar?
A At the bottom of the screen where the user presses D to
select the DOS command, that is similar. Where the user
presses S to search, that is similar. Where the user presses
U to do user, that is similar. The way that these programs
quit is a little bit different. In Exhibit No. 50, you must
press Q in order to quit. In Exhibit No. 49, you press the
escape key instead.
Q Okay. Can you quantify the degree of similarity and the
source codes between the two modules?
A Including that what I just mentioned? Probably ten to
twenty percent.
THE COURT: Of similarity?
THE WITNESS: Yes, Your Honor.
BY MR. OSTROWSKI:
Q Now, is it possible to quantify the degree of similarity
and function or is that a category mistake or whatever you
scientists call it?
A Functionality are very similar out of need.
Q What do you mean by that?
THE COURT: By what?
MR. OSTROWSKI: He said that they're similar out of
need.
BY MR. OSTROWSKI:
Q What do you mean by that?
A This is a file retrieval system, so you must - -
THE COURT: This is what? Is it particular one
we've been talking about, 49 and 15, are you talking about 50
and a particular module?
THE WITNESS: All three of these exhibits, 48, 49
and 50, are file retrieval programs. Their function is to
retrieve files. I would hope that in the selection that you
would present a list of categories that are available for the
user to select from so they can narrow the field down first,
and that is evident in all three of these. Each person who
has a computer may want to place these files that are being
retrieved in a particular area. I would hope that this, in
any one of these three exhibits, I would not hope, I would
expect the program let me specify where I want to put it. If
I don't know the name of it, of a particular program but I
would like to look through or what's called search through
the descriptions for something that's maybe dealing with
quick basic as opposed to basic A, I would expect some kind
of a search engine in this file retrieval system. If I
wanted to, so to speak, shell out or temporarily suspend the
program and do some DOS services, I have a floppy disk but
it's not formatted, and I need to format this floppy disk
before I can retrieve it to this floppy disk, I would expect
this file retrieval program to do this. When I was done, I
would also expect this program to allow me to gracefully quit
without leaving a lot of garbage on the screen or retaining
any terminate and stay resident programs in memory.
BY MR. OSTROWSKI:
Q Okay. You would expect that - -
A I see that - -
Q - - as the user of the computer?
A Yes.
Q But somebody actually has to do the work to make that
happen?
A Correct.
Q Have you ever written a file retrieval program?
A Many.
Q Have you ever written one for a CD-ROM?
A No.
Q Okay. When were file retrieval programs first written
for CD-ROMs, do you know?
A Not exactly. The earliest availability of CD-ROMs that
I can remember is 1989. They were very expensive. In fact,
they were quite cost prohibitive for the average computer
user. It wasn't until late '90, first part of '91, that the
prices of CD-ROMs came down where the average individual
could start affording them. Now in 1993, they're less than
$200.
Q Is it your contention that any similarity in function
between file retrieval programs is dictated by the
necessities of the programming language and the need to
satisfy the consumer?
A Absolutely.
Q Okay. So that if you were to take someone else's file
retrieval and change the language and rearrange the language
but do exactly the same thing throughout the entire program
and every single function and sub-function, that would be - -
There would be nothing original in that work that would be
protected by copyright?
MR. KITCHEN: I'll object. I think he's asking the
witness - -
THE COURT: What's the objection?
MR. KITCHEN: - - for a legal conclusion.
THE COURT: If he can't answer, he won't. If your
objection is it's beyond his expertise, you may have to
develop what that expertise is as far as the legalese.
BY MR. OSTROWSKI:
Q Can you answer the question?
A I'm not sure I understand it.
THE COURT: There, we got an answer.
BY MR. OSTROWSKI:
Q Okay. Is what you're saying that every file retrieval
program has the same functions, both at the level of
generality and at the level of detail?
A A certain core amount, yes, absolutely.
THE COURT: Namely to retrieve files?
THE WITNESS: Yes. I would hope that it would have
a search portion to it due to the mammoth amount of files
that are available. I would hope that it would give me some
kind of flexibility in choosing, going along with that file
retrieval, where to put it, whether to put it on floppy
drives or one of many hard drives.
BY MR. OSTROWSKI:
Q So that there's essentially nothing original about any
file retrieval program?
A Other than they retrieve files? Not in what they do,
how they do it. That's where the original part would come
in.
Q Okay. And what do you mean by that?
A How the person - - What code, what instructions the
author of that program writes in order to accomplish that
particular goal.
Q Okay. So the only aspect of originality in file
retrieval would be the literal source code similarity?
A In most respects, yes, but there would be some other
cases where some unique structures were set up that were
brand new, never done before.
Q Okay. Now did you compare the module DIR in 50 to
anything comparable in Plaintiff's 48?
A Yes.
Q And was there anything comparable?
A No. 48, Exhibit No. 48 and Exhibit No. 49, there were
great similarities.
Q That's not what I'm asking.
THE COURT: Between those two?
THE WITNESS: Forty-eight and 49?
MR. OSTROWSKI: That's not what I'm asking.
THE COURT: Is that what you're saying?
THE WITNESS: Would you repeat the question?
THE COURT: Well, I'm trying to understand your
answer. You said there were great similarities, and - - in
48 and 49, and I wondered if the similarities were between
those two or from those to something outside of those two.
THE WITNESS: No. 48, Exhibit No. 48 and Exhibit
No. 49 have great similarities between 48 and 49.
THE COURT: Vis-a-vis each other?
THE WITNESS: Yes.
BY MR. OSTROWSKI:
Q What I'm asking you is did the DIR module in 50 have any
counterpart in 48?
A Yes, on sheet No. 8 of Exhibit 48.
Q And what was that called?
A Again, this was very similar to Exhibit No. 49 in that
it was not its own distinct module. It was a portion of the
main function or the main module.
Q And was there - - Did you compare the source code
similarity between 50 and 48?
A Yes.
Q And can you quantify the degree of similarity between
the two programs?
A Again, ten to twenty percent.
THE COURT: That's between which ones?
THE WITNESS: Between Exhibit No. 50, Your Honor,
and Exhibit No. 48. Now, when you - - when I say - -
MR. OSTROWSKI: I - -
THE WITNESS: - - same source code, I'm saying they
spelled enter E-N-T-E-R, user with a big U-little S-little E-
little R, search with a big S-little A-little R-little C-
little H, so that's included in that ten percent and the
twenty percent.
BY MR. OSTROWSKI:
Q But what I'm asking you is did you compare the
similarity of lines of code - -
A Yes.
Q - - between the two programs? And what was the degree
of similarity?
A The lines of code?
Q Yes.
A Less than five percent.
Q And did you compare the functionality of the two
programs, in 48 and 50?
A Yes.
Q And were there any similarities?
A Yes.
Q Which? What were they?
A Very similar to the comparison between 49 and No. 50.
THE COURT: Forty-eight and fifty he's talking
about.
THE WITNESS: Right and forty-eight - -
THE COURT: Is that right?
THE WITNESS: Forty-eight and 50 compares - -
MR. OSTROWSKI: Yes.
THE WITNESS: - - identically or not identically,
very similarly to the comparison between 49 and 50. They do
allow the user to enter a number of category that the user
wants, allows the user to select his or her own directory, do
a search, do a set-up, go to DOS and quit. However, in
number - -
MR. OSTROWSKI: I object as not responsive.
THE COURT: I don't know.
MR. OSTROWSKI: Well, he's just blurting something
out.
THE COURT: You mean because he paused, the balance
of it may not be responsive?
MR. OSTROWSKI: Yes.
THE COURT: Go ahead, you may complete your answer.
THE WITNESS: There was one distinguishing feature
that was on Exhibit No. 48 that didn't exist in No. 50 nor
No. 49.
MR. OSTROWSKI: Okay, that's not - - I object as
not responsive. I didn't ask him that.
THE COURT: Yeah, you were talking about 49 and 50?
MR. OSTROWSKI: I was talking about similarities,
not differences.
THE COURT: Well, what's the difference? Ones the
mirror of the other. To say that one is different is to say
it's not similar.
MR. OSTROWSKI: The difference is that I'm cross
examining the witness, Your Honor, and I don't want him
blurting out answers to questions that I'm not asking because
I have certain things that I want to accomplish in a limited
amount of time.
THE COURT: What limited time? Go ahead.
MR. OSTROWSKI: I have a lunch date.
BY MR. OSTROWSKI:
Q Okay. Would you say that the detailed functions of 48
and 50, and we're talking about DIR in 50, part of main in
48, were they substantially similar?
A In functionality? Yes.
Q And did 48 have any features that 50 lacked?
A Yes.
Q What were those?
A There was an additional feature that allowed the user to
select the category they wanted by using the up and down
arrows to go up and down, to go down, left arrow to go left,
right arrow to go right to select how the user wanted it. In
comparison to, on Exhibit No. 50, you had to type in the
number.
Q Okay. That's not an original idea, is it?
A No, it's done all the time.
Q Okay. Were there any - - Was there anything else on 48
that was not on 50?
A Only in approach.
Q Okay, like what do you mean by that?
A In Exhibit No. 50, the author of this program read the
disk to find what categories were available, there's 48 or 50
or 60 or whatever. Then when the user picked some other
module to go, when it returned back to DIR, it read the disk
to see those same 50 or 60 names and put them on the screen
again. When the user would leave, it would come back and
read the disk again. That's pretty much the signature of
this program. I didn't see that in these other two.
Q That was in 50?
A Yes.
Q But not in 48?
A No.
Q Okay, I guess you misunderstood my question. What I'm
asking you is was there something else in 48 that was not in
50 other than - -
A Other than that approach - -
Q - - selecting the category by scrolling or whatever?
A No.
Q Okay. So they were substantially similar in
functionality except that 48 had one thing scrolling, which
is an old idea which has no originality in it?
MR. KITCHEN: I'll object to - -
THE COURT: Why?
MR. OSTROWSKI: What?
MR. KITCHEN: Well he's - - He's saying now that
it's substantial. That - - That's never been - -
MR. OSTROWSKI: That's what he said. That's what
he just said.
THE COURT: He may answer.
MR. OSTROWSKI: It's cross examination anyway.
THE COURT: I don't know why they call it scrolling
rather than strolling, but that's all right. Go ahead.
THE WITNESS: What was the question, please?
MR. OSTROWSKI: You can get mugged when you're
strolling but not scrolling.
BY MR. OSTROWSKI:
Q Is it fair to say that we're talking about DIR in 50,
comparing it to part of main, which you've identified as the
same module, right?
A Correct.
Q Okay. Is it fair to say that those two modules are
substantially similar except that 48 has one new scrolling
option which is, by no means, original?
A It is original in the file retrieval. That's the first
time I had seen it in a file retrieval system.
Q Okay. It's not an original idea in computer
programming, is it?
A Oh, no, it's used all - -
THE COURT: Original application?
THE WITNESS: The scrolling is very - -
THE COURT: Original application?
THE WITNESS: I don't understand.
THE COURT: The utilization of this non-unique idea
in this field is a new application?
THE WITNESS: This is the first time that I had
seen it, Your Honor, an old idea used in this context.
BY MR. OSTROWSKI:
Q Okay. Is it fair to say that 48 and 50 are
substantially similar in function except that 48 has one old
new idea in it?
A I thought it was a rather clever new old idea.
Q Okay. Is it fair to say that 50 and 48 are
substantially similar in function except that 48 has a new,
old, rather clever idea in it?
A Yes.
Q Okay. Now you looked at the goodbye function in 50?
A Yes.
Q And did you compare the source codes, lines of code in
goodbye 50 to anything - - Did you find anything similar in
49?
A Yes.
Q And what was that called?
A On sheet 10 of Exhibit No. 50, is the goodbye module.
This goodbye module clears - -
Q What I'm asking you is did you find a similar program in
49?
THE COURT: I think he's in the process of
answering if you let him.
MR. OSTROWSKI: It sounded non-responsive to me,
Your Honor, and Mr. Kitchen was interrupting - -
THE COURT: Sounded to me as he - -
MR. OSTROWSKI: - - my witnesses.
THE COURT: - - professorily was going to get to
the answer. Go ahead.
MR. OSTROWSKI: I thought we'd established that
when witnesses are not responsive, there's no need to ask the
court - -
THE COURT: He was being responsive I thought. Go
ahead. We've muddied the waters, so ask a new question.
THE WITNESS: What's the question?
BY MR. OSTROWSKI:
Q Is there a similar module in 49?
A Yes.
Q What's it called?
A It's located on sheet number - -
Q What's it called?
A I will have to look at Exhibit No. 49 to see its exact
name.
THE COURT: What sheet?
MR. OSTROWSKI: Okay, fine.
THE COURT: What sheet?
THE WITNESS: Sheet No. 67 of Exhibit No. 49. The
question again, please?
MR. OSTROWSKI: Is there a similar - -
THE COURT: The last question was what is, what's
it called?
THE WITNESS: In both modules, it is called
goodbye.
BY MR. OSTROWSKI:
Q Okay. Did you compare the lines of source code between
those two goodbye programs?
A Yes.
Q And can you quantify the - - can you quantify the degree
of similarity between the two programs and source codes?
A This is a tough one. Do I include all rights reserved,
copyright by?
Q No.
A Do not include those?
Q No.
A How about thank you for using?
Q Well, is thank you for using an executable programming
language?
A It's a - -
Q Perhaps you're confused about what a source code is. Is
thank you for using a source code?
A Thank you for using is a string literal that is part of
instruction that is to be executed by the computer. Is it
part of the instruction? The answer is absolutely yes.
Q I didn't ask you if it was part of the instruction. I'm
asking - -
A The instruction is the source code.
Q Please don't - - Please don't interrupt me. I'm asking
you if it's part of the source code.
A Yes.
Q Okay. Then I'm asking you to include it in the
comparison, if it's an executable source code.
A It is also, all rights reserved is also included in the
source code. Should I or should I not include that?
Q I want you to include anything that you consider to be
part of the source code in the sense that it does work in the
computer.
A In that - -
THE COURT: You mean any part of it that performs
some function or job in the computer?
MR. OSTROWSKI: Yes, Your Honor.
THE COURT: Such as saying thank you might not do
that?
MR. OSTROWSKI: I don't think it really does, but
I'm not an expert.
THE COURT: Wouldn't seem to me - - As a lay
person, it wouldn't seem to me to be functional, but anyway.
THE WITNESS: Including all rights reserved,
copyright by, including thank you, I would say that they're
approximately between 30 and 40 percent similar due to need.
BY MR. OSTROWSKI:
Q Source code similar due to need?
A Yes.
Q Okay. But you just said before that the only original
aspect of this type of programming is the source code?
A Correct.
Q Well, didn't that imply that there's more than one way
to write source code to achieve the same function?
A That is correct.
Q Now you're saying that the need could require the source
code to be absolutely identical?
A Not identical, similar.
Q And now you're saying that need could require source
code to be similar?
A Absolutely.
Q Okay. And taking out the copyright notice, what's the
degree of similarity in source code?
A Ten, fifteen percent.
Q And what's the - - Did you do an analysis of the
functionality of each program module?
A Yes.
Q And are they substantially similar?
A Yes.
Q Does 49 do anything that 50 doesn't functionally?
A No.
Q Did you - - Is there a comparable program in 48?
A Yes.
Q Plaintiff's 48? What's it called?
A It's located on sheet No. 117 of Exhibit 48. Looking at
Exhibit No. 48, the name of the module is goodbye.
Q Did you analyze lines of source code to compare for
similarities between 50 and 48?
A Yes.
Q And can you quantify the degree of similarity?
A Do I or do I not include thank you for using?
Q Is thank you for using part of documentation?
A No, it's one - - it's part - -
Q I'm just asking you if it's part of documentation?
A No.
Q Is thank you for using a function?
A No.
Q Then I don't want you to include it.
A Zero percent.
Q Did you compare the functionality in the goodbye program
from 48 to the one in 50?
A Yes.
Q And was there, was there any similarities, were there
any similarities?
A Yes.
Q Are they substantially similar?
A Yes, out of necessity.
Q You keep blurting that out. Have you discussed any
copyright law with Mr. Kitchen?
A No.
Q Have you looked any up yourself?
A No.
Q Are you - - Do you know of any from pre-existing
knowledge?
A No.
Q They are substantially similar in function?
A Yes, the goodbye - -
Q I'm just asking you yes or no.
A Yes.
Q And does - -
THE COURT: Was this the goodbye module you were
comparing?
THE WITNESS: Yes, Your Honor.
BY MR. OSTROWSKI:
Q Does the goodbye module in 48 do anything new which is
not in 50?
A It does less.
Q Does it do anything new that is not in 50?
A No.
Q Now the next module you compared was execute, E-X-E, in
50?
A Come in again?
Q Execute?
A Yes.
Q I'm sorry, E-X-E was my abbreviation, execute.
A Correct.
Q And did you find a similar program in Plaintiff's 49?
A I have a page reference.
Q Okay, what's the page?
A Sheet number 25 in Exhibit No. 49.
Q And is that, what's that called or is it part of
something else?
A In Exhibit No. 49, the module is called display file
manipulation window.
THE COURT: Called what, display?
THE WITNESS: Underscore, file, underscore,
manipulation, underscore, window. All one word, Your Honor.
BY MR. OSTROWSKI:
Q What was the third word there, display file what?
A Manipulation, underscore, window.
Q Did you compare the source codes in those two modules
between 49 and 50?
A Yes.
Q And can you quantify the degree of similarity in source
code?
A Here we go again. Do I use DOS, DOS is mentioned in
both. Do I include the word DOS, help, copy in my estimation
or not?
Q Well, let me see it. Yes.
A Including the stringed literals, I would gauge it at
approximately 20 to 30 percent similar.
Q Why are the string literals in there?
A The stringed literals tell the computer to display
exactly that literally on the screen so the user can read
them.
Q How many string literals are there in the world of
computer programs?
A Practically infinite.
Q Okay, and how many do you see in that particular module?
A I see two in Exhibit No. 50. I see similar words in
different literals in Exhibit No. 49.
Q Well, I'm not sure what you mean by that, similar words
in different what?
A In Exhibit No. 50, there is a stringed literal that
includes the word extract, copy, DOS.
Q Okay, so the addition of string literals, I take it,
would reduce the percentage of similarity?
A Yes.
Q Did you - - Did you compare the functions between 49 and
50?
A Yes.
Q And are they substantially similar?
A In similar, do you mean does 49 do similar things to
what 50 does?
THE COURT: In the same way? Wouldn't that be
included, Mr. Ostrowski?
MR. OSTROWSKI: Well, let's start out at the level
of generality, yes, do they do the same things?
THE WITNESS: Yes, 49 has the same features or the
same functionality as No. 50 in one, two, three, four, five,
six cases.
THE COURT: In what?
THE WITNESS: In six cases.
BY MR. OSTROWSKI:
Q You mean by case, do you mean a line of code or a very
minor, a very small - - well, a line of code or a discrete
function?
A Discrete function.
Q And how many of these discrete functions are in 50,
roughly speaking?
A Six.
Q Okay. So all the discrete functions of six are done in
49?
A Yes.
Q Does 49 do anything that 50 does not?
A Yes.
Q Okay, what is that?
A It allows the user to view a - - I don't want to call
them - - they could be photographs, they could be graphics,
they could be expressions of arts, but essentially pictures.
Q And 50 does not do that?
A Not that I'm aware of.
Q Did you look at any of the CD-ROMs that - - Well, were
you informed by Mr. Graham which CD-ROMs had Exhibit 50 on it
as the file retrieval, and did you do any work with the CD-
ROM on that basis? I know that's two questions, but - -
A First question first.
Q Take either one.
A Did I look at the CD-ROMs?
Q Do you have any idea which programs are on which CD-ROMs
from just talking to Mr. Graham?
A I'm not sure, no.
Q Okay.
A I couldn't testify which program was - - which one of
these programs in its compiled form was on CD-ROM No. 5 or 6
or 7, no, I did not do that.
Q Right.
A No, I didn't do that, but I could do that.
Q You could do what?
A I could take a look at this source code, look at the
menus that are displayed on the screen and identify which CD
it was on.
Q Okay. Did you find any other functions on 49 that were
not in 50?
A Yes, there was also the option to format a floppy.
THE COURT: Option to what?
THE WITNESS: Format a floppy.
BY MR. OSTROWSKI:
Q And you couldn't do that on 50?
A Could you do it?
Q Yes.
A Yes, you could use the DOS command to do that, but you
would have to type it in yourself.
Q Okay. Are you sure that there's no other module in 50
that allows you to format a floppy?
A There could be, and I'm not aware of it.
Q Are you sure that there's not any module in 50 that
allows you to do graphics?
A There could be. I'm not aware of it.
Q Any other functions in 49 that are not in 50? We're
only talking about the execute and display file window, it's
a - -
A No, I think that about covers it.
Q Now you said that - - You said that they're
substantially similar in function, correct?
A Yes.
Q And that was even taking into account that 49 had two
new functions?
A Yes.
Q So taking, excluding for the moment those two new
functions, all of the functions in 50 are replicated in 49,
right?
A Yes.
Q Now, did you compare the source codes - - Did you find
any similar program in Plaintiff's 48 to correspond with
execute in Plaintiff's 50?
A Yes.
Q And what was that called and where is it located?
A It's located on sheet No. 37 of Exhibit No. 48.
Q And what's it called?
A It is also called display file manipulation window.
Q Were there any similar source codes, lines of code
between 48 and 50?
A Yes.
Q Can you quantify the percentage of similarity?
A Do I include D-O-S, C-O-P-Y, Q-U-I-T?
Q Yes.
A Then that number's going to be larger. I would say some
place between twenty and thirty percent.
Q Well, didn't you say that including those list commands
actually reduced the number when we were comparing 50 and 49?
A No.
Q Because they were in 49 but not in 50? You didn't say
that?
A When I compare Exhibit No. - -
Q I'm just asking you what you said.
A - - 48 to the corresponding Exhibit, corresponding lines
in No. 50, if I were to include just the program lines
without the literals, that number would be lower than if I
compared No. 50 with No. 48 including the stringed literals.
Q Okay. What would that number be?
A I'd say approximately ten - - twenty to thirty percent
including the stringed literals.
Q Well, I'm asking you without the stringed literals.
A It would be a smaller number.
Q Do you know what?
A I would estimate between ten and twenty percent.
Q Is that in your notes?
THE COURT: Excuse me a minute. Go ahead.
BY MR. OSTROWSKI:
Q Is that in your notes?
A No.
Q Are any of these percentages of code similarity in your
notes?
A No.
Q You're formulating those numbers as you sit on the
witness stand?
A As I look at the exhibits, yes.
Q As you look at the exhibits on the witness stand?
A Yes.
Q And did you compare the functionality of execute in 50
and display file with manipulation window in 48?
A Yes.
Q And are they substantially similar in function?
A Yes.
Q Does 48 do anything that 50 does not?
A No, they're all there.
THE COURT: Excuse me?
THE WITNESS: No, they are all there. The things
that 50 does, they're also included in No. 48.
THE COURT: But the question was vice versa on
that. Is there anything in 48 that's not in 50?
THE WITNESS: Yes.
BY MR. OSTROWSKI:
Q What?
A The show a picture, the format a floppy.
Q Same things as in 49 that were new?
A Yes.
Q But all of the functions that are in 50 are replicated
in 49?
A Yes.
Q And is it your - - is it your opinion that any competent
programmer sitting down to write a program like execute would
come up with basically the same functions?
A For a file retrieval system?
Q Yes.
A I believe so.
Q You believe so?
A Yes.
Q How many file - - How many CD-ROM file retrieval
programs have you looked at?
A Four.
Q Ever?
A Four.
Q Okay. So you're not really an expert in CD-ROM file
retrieval programs?
A Typically I never see the source. All I see is the
executable form of it.
Q Right, what any Joe Blow sees when he buys a computer
and buys a CD-ROM?
A Would he see the source? Absolutely not.
Q No, I'm asking you the thing that you have seen prior to
this trial is what any user would see?
A Yes.
Q And that's the, in large part, the basis for your
expertise on CD-ROM file retrieval systems?
A Yes.
Q Okay, let's go to the next module, which is unzipit, and
my question is, is there anything similar to 50's unzipit in
49?
A Yes, it's on sheet No. 36 of Exhibit 49.
Q What's it called?
A In Exhibit No. 49, it's called unzip file.
Q And did you compare the source codes between 49 and 50?
A Yes.
Q Can you quantify the degree of similarity in source
codes?
A Again, there is that approximate 20 to 30 percent.
Q Is that in your notes?
A No.
Q Did you compare the functionality between the two
programs?
A Yes.
Q Are they substantially similar?
A Yes.
Q Is there anything new in 49 that's not in 50?
A No.
Q Okay, skipping to 48, is there a similar module in 48 to
unzipit in 50?
A Yes, it's located on page - - excuse me, sheet 61.
THE COURT: Of 48?
THE WITNESS: Correct.
BY MR. OSTROWSKI:
Q What's it called?
A Unzip file.
THE COURT: Is that - - I can't understand, is that
plural or singular, files or file?
THE WITNESS: Unzip, underscore, F-I-L-E.
THE COURT: Thank you.
BY MR. OSTROWSKI:
Q Did you compare the source code between 48 and 50?
A Yes.
Q And is there a degree of similarity?
A In that they do the same thing?
Q No, in the actual literal source codes?
A There is some similarity, yes.
Q Can you quantify the degree of similarity?
A Exhibit No. 48 is very similar to Exhibit No. 49.
Consequently, it's going to be the same percentage,
approximately 20 to 30 percent.
THE COURT: Twenty to 30 percent is quote, very,
unquote?
THE WITNESS: Is similar.
BY MR. OSTROWSKI:
Q And what about the functionality?
A They appear to be the same.
Q Is there anything new on 48 that's not in 50?
A Just cosmetic. The functionality is still pretty close.
One clears the screen, one does not.
Q Now I believe you stated that you've only seen four CD-
ROM file retrieval program source codes in your entire life?
A Yes.
Q Okay. If you were sitting down to - - Well, what is
your - - Do you have any familiarity with how the file
retrieval on 48 works in terms of operating a CD-ROM?
A Yes.
Q And what is that based on? Did you actually - - I'm
talking about this case. Did you actually get some
information from Mr. Graham about which CD has it on it and
operate it?
A No. What I actually - - I have both the source and the
executable code for Exhibit No. 50, Exhibit 49, 48. I put
each one of these executable codes into the computer and
observed it functioning. I watched the drive light to see
when it was and when it was not accessing the drive, and then
I also looked at the files that it brought in and displayed
on the screen for the user to select from.
Q Okay. If you were sitting down to write a program like
48 or exactly like 48, would it help if you were supplied
with Plaintiff's 50 as opposed to starting from absolute
zero?
A The source code or the executable code?
Q Well, when you say executable code, is that something
that you can read?
A Typically not, no.
Q Well, is it ever anything you can read?
A If it's been disassembled or reverse engineered, yes.
Q Reverse engineered into something that's not an
executable code?
A Correct.
Q So, what I'm asking you is it's correct that you can
never read and executable code?
A Not directly, no.
Q I mean I assume some mathematical genius could look at
it and know what it says, but most of us humans cannot,
correct?
A Correct.
Q Okay. Would it help if you were setting out to create a
program like 48, which you've seen, to be supplied with the
source code of 50 or - - well, strike - - instead of simply
starting from scratch with nothing?
A In some instances, no. In other instances, yes. It
depends upon the quality of the source code.
Q Okay. And the quality of the source code in 48 is high,
right?
A Forty-eight? It's almost a work of art. I would love
my students to turn in something this great.
Q Okay. But with the modules that you've so far compared,
the work that 48 accomplishes is almost exactly like the work
that 50 accomplishes?
A What it does, yes. How it does it, no.
Q When you say what it does, are you referring to what it
does for the consumer, the user of a computer?
A Yes.
Q They're similar?
A Yes.
Q Okay. Wouldn't it be a great help to somebody, you, for
example, who is setting out to write something like 48, to be
supplied with a copy of 50 source codes?
A In some cases, no. In some cases, yes.
Q Well, that's not an answer to my question. Would it be
a great help, yes or no?
A In this instance of Exhibit No. 50, no.
Q It would not be a great help?
A No.
Q Would it be any help at all?
A Maybe.
Q Maybe, depending on what variables?
A Depending upon what the employer or the work for hire
person wanted.
Q Well, what they want is 48, I think it's part of my
question. Given that what they want is something that is 48
or exactly like it or similar to it, you're saying it would
not be helpful to be supplied with a copy of 50?
A I'm not going to say it wouldn't be helpful, no, I won't
say that.
Q So, you're saying that it would be helpful?
A It could be helpful if the person chose to use it, yes.
THE COURT: Is it helpful as a model or helpful as
indicating certain things which ought not to be followed,
sort of Edisonian or what?
THE WITNESS: When I write programs, Your Honor, I
ask the person what do they want to appear on a screen and
how do they want it to appear on the screen, regardless of
the work that other people have done. If they ask me to take
this code and modify it so it does this additional feature, I
do that. However, it's very difficult to fault someone
else's logic, someone else's reasoning on how they're doing
these things. I spent almost four hours looking over one of
these modules trying to find all the aspects of what that one
module does. If you had said, Steve, can you write a brand
new one from scratch that does A, B, C, D, E, the answer is
yes, I could have written that same module in four hours from
scratch, and I would have understood it better; and if I ever
had to work on that program later, being my code, I
understand how I do things.
THE COURT: You would build it up brick by brick?
THE WITNESS: Absolutely, and I would know the
foundation that I had underneath and why I had this this way
and why I had that that way, not looking into the
underpinnings of how another person had done it. So, in some
instances, if it's well-written code, it can be a help. In
some instances where the code is very difficult to follow,
it's just better, more efficient to write the darn thing from
scratch.
BY MR. OSTROWSKI:
Q You spent four hours looking at a module?
A Yes.
Q Which module? In 50?
A It was the DIR module.
Q In 50?
A Yes.
Q Is it fair to say that it took you four hours because
it's a very complex piece of work?
A Yes, it is.
Q Okay. Now, when you say that it may or may not be
helpful to see 50 in reproducing - - in producing a program
like 48, are you talking about your perspective as a computer
scientist?
A In my perspective as I contract to program for hire.
When I write programs for people, like I was telling the
judge, I ask them what they want up front. Do you want what
you have, or do you want something different? Many times
they tell me we have our people trained in a certain way. We
want to keep it pretty much the way it is. We don't want to
change the way the secretaries enter checks coming in. We do
not want to change how our invoices are printed. We've got
50,000 in stock. We want to use up the paper. Keep the look
of it the same, Steve, so I do.
Q And under those assumptions then, it would be very
helpful to see 50 before you set out to do the work of 48?
A Not necessarily, no.
Q Not even under those assumptions?
A No, not necessarily.
Q Okay. Okay, let's go to the next module, which I think
is DOS, D-O-S-C-M-D.
THE COURT: DOS what?
MR. OSTROWSKI: D-O-S-C-M-D.
BY MR. OSTROWSKI:
Q Are those the initials?
A Correct.
Q What does that stand for, basically?
A My first guess was it allowed the person to enter in a
DOS command from within the program.
Q What does DOS stand for, by the way? Is that an
acronym?
A Yes.
Q What does that stand for?
A Disk Operating System.
Q Okay. And did you find any similar module in 49?
THE COURT: Wait a minute, you got something about
a DOS CMD without saying where you were or what kind, what
exhibit?
MR. OSTROWSKI: There is a DOS CMD on Plaintiff's
50, correct?
THE WITNESS: Yes.
THE COURT: Is that what you started with?
MR. OSTROWSKI: Yes.
THE COURT: All right.
THE WITNESS: It's found on sheet No. 33.
BY MR. OSTROWSKI:
Q And is there a similar module in 49?
A Yes.
Q Did you compare the - - And what's that called and where
is it located?
A It's located on sheet 56 of Exhibit No. 49.
Q And what is it called?
A D-O-S, underscored, C-O-M-M-A-N-D.
Q Did you compare the source codes between those two
modules?
A Yes.
Q Is there - - Can you quantify the degree of similarity,
if there is one?
A About ten percent.
THE COURT: Ten?
THE WITNESS: Ten percent.
BY MR. OSTROWSKI:
Q And did you compare the functionality between the two
modules?
A Yes.
Q Are they substantially similar?
A Yes.
Q Is there anything new on 49 that is not in 50?
A Yes.
Q What?
A In Exhibit No. 49, there are additional checks to see
whether a return value from a previous module indicated that
it was a picture file.
Q Anything else new, functionally speaking?
A Cosmetic; one clears the screen before returning, the
other doesn't. They work essentially the same.
Q Okay. Is there any module in 48 which is similar to DOS
CMD in 50?
A Yes.
Q And where is that located and what is it called?
A It's located on sheet No. 98.
Q What is it called?
A DOS, underscore, C-O-M-M-A-N-D.
Q Now you stated that you did see these programs operate
in some sense - -
A Yes.
Q - - on your computer, and that's what the, your
customers care about, the bottom line, how it works?
A Correct.
Q Okay. So if they ask you to do - - If they asked you to
do what DOS command, D-O-S-C-M-D does and you had a copy of
50 and you ran that command and you saw what it did, then
your work would essentially be done, that was similar to the
work you were asked to do?
A I'm not sure I understand the question.
Q Well, what does D-O-S-C-M-D do?
A It allows the user to type in one of sixty or seventy
DOS commands, suspend the file retrieval program, allow the
computer to do one of these fifty, sixty, seventy programs,
and when it's done, come back right into the file retrieval
program.
Q Okay. And if that's what the customer wanted you to do
and you ran that module in 50 and saw that it did that, you
wouldn't have to go back and do any thinking or re-writing
any code, would you? You would just take that and then go
onto the next thing and you'd be done a lot faster, right?
A Yes.
Q And anytime that 50 had a function on it that
accomplished the same work as the one your customer was
asking you to do, it would be the same thing, right? You'd
check that out to see how it worked, and then you'd say okay,
I don't have to do that, I'll go onto the next one. That
source code is done, right?
A I'm not sure you understand the function of this
particular module.
Q Well, what I'm asking you is isn't it true that you
could take any, any module in 50 and compare it to any module
in 50, see what it does when it's actually working, compare
that to what your customer wants, and if that's what your
customer wants, you can just check that off, copy in the
source code, 'cause that's done and go onto the next thing,
right?
A Could a person do that? Yes, they could. It would be
highly illegal to do so.
THE COURT: Highly what?
THE WITNESS: Illegal to do so.
MR. OSTROWSKI: Exactly.
THE COURT: Is that a question?
MR. OSTROWSKI; No, it's an exclamation point.
BY MR. OSTROWSKI:
Q Okay. We're at - - We're looking at 48's DOS command.
Are there any similar source codes in there to, that compare
to the 50 DOS CMD?
A They function similarly, 48 and 50.
Q Is there anything new in 50 that's not in - - I'm sorry,
is there anything new in 48 that's not in 50?
A Again, Exhibit 48 is very similar to No. 49. Exhibit
No. 48 also had those additional checks to look at the return
values from other modules to see if pictures were going to be
viewed.
Q So, is it fair to say that every discrete function of 50
also appears in 48?
A Yes.
Q But then there's a couple extra cosmetic things?
A Not cosmetic in this case.
Q Well, one of - - I'm sorry, one is cosmetic and one
isn't, of the new ones?
A There are three checks to view whether a picture had
been selected from a previous selection menu, and if a
picture had, indeed, been selected, it takes the appropriate
action.
Q That's a substantial change, right?
A Yes.
Q Or addition, I should say?
A Yes.
Q And then there's a cosmetic change dealing with the - -
A Yes.
Q - - clearing of the screen?
A But that does not affect the functionality of the
module.
MR. OSTROWSKI: Okay. I have no further questions.
THE COURT: Take a brief recess.
(12:05 p.m., recess.)
(12:15 p.m., resume.)
THE COURT: Oh, you finished your cross
examination, Mr. Ostrowski?
MR. OSTROWSKI: Yes, Your Honor.
THE COURT: Okay.
REDIRECT EXAMINATION
BY MR. KITCHEN:
Q Professor Brown, you were asked during much of this
extended cross examination for a quantification on this
similarity business, and you indicated that you had nothing
in your notes. Is there any reason you didn't actually put
these quantification figures in your notes?
A Yes.
Q What was that reason?
A When I compared the modules side by side, I take a look
to see how this person cleared the screen. There's one way
that I know efficiently to clear the screen. Clearing the
screen is the same in both modules, so that counts towards
that ten, twenty percent, and when they clear the screen upon
exit, it's C-L-R-S-C-R to clear the screen again. So, again,
it's the same thing to cause the same action to occur. Then
I look at the second line to see whether they are the same or
different, and also the approach of them.
Q Well now, since you brought up the idea of clear screen,
can you tell us, when the - - by whatever means the computer
is told to clear the screen, can you tell us what the
computer does to clear it?
A Puts blanks of the now selected color on all 80 by 25
rows. The screen is a matrix, eighty columns wide by 25 rows
up and down, multiply 80 times 25. What's that work out to
be, 2,000 locations on the screen. When you clear the
screen, it puts a blank space in each one of those 2,000
locations at computer speeds.
Q And when you say at computer speeds, is it - - What does
it appear to the user when the screen is cleared?
A It appears instantaneous. However, we have done some
high speed filming where we've taken maybe two or 3,000
frames per second, displayed it on the screen, slowed it down
and we could just catch part of it. It was that fast.
Q Well, can - - In using the C programming language, can
you tell the computer to go up to position one and put a
blank there and then go to position two and put a blank there
and then go to position three and put a blank there, I think
you get the idea, and do that for all 2,000 places on that
screen?
A Yes, and I could probably name five or six different
ways, but all those ways are terribly inefficient. I
wouldn't use them.
Q Well, when you just put in your C programming language,
the words clear screen, and that source code then is
compiled, is it eventually end up in some sort of executable
file that's going to tell the computer to put a blank in the,
put a blank in space one and put a blank in space two, is
that what it does?
A Yes.
MR. OSTROWSKI: Objection to a leading question.
THE COURT: It's not leading.
BY MR. KITCHEN:
Q If one computer programmer used the very efficient means
of putting in clear screen, would it be, in your opinion,
would it be some sort of improper copying or plagiarism for
another programmer to use the same device?
A No.
Q Now, getting back to this idea of quantification,
though, this idea of this is ten percent similarity, twenty
percent similarity, that sort of thing, are there, are there
standards in the computer programming field that dictate
similarity in terms of percentage quantification?
A Not that I'm aware of. He asked me to look at these two
modules and - -
MR. OSTROWSKI: Objection to not responsive.
THE COURT: Yes, just be responsive.
THE WITNESS: Okay.
BY MR. KITCHEN:
Q Okay. Then how is it that you were able to come up with
these quantified numbers?
A I looked at the modules side by side, compared his first
instruction with an instruction with the other - - I looked
at Exhibit No. 50, a particular module, I looked at that
module that did exactly the same thing or similar to it in
Exhibit No. 49, looked at the first instruction in Exhibit
50, and compared it to the instructions that appeared in the
appropriate area in Exhibit 49 and looked to see whether they
were the same or whether they were different. Then I went on
to instruction two and - - from Exhibit 50, and compared that
to Exhibit No. 49. Not only comparing the instruction, the
instruction itself, but the strategy involved to see whether
the person approached it the same way. There are efficient
ways to make multiple comparisons, and there are inefficient
ways to make multiple comparisons, and I kept this in mind in
trying to give my best estimate as to how much was the same
or how much was different.
Q Well, is the figures that you finally gave to Mr.
Ostrowski in response to his questions, these things like ten
percent or twenty percent, were they arrived at by some
precise calculation or were they arrived at by just kind of
looking at them and saying looks like ten percent or
something like that?
A I counted the number of lines in the module. Then I
went back to number one, like I told you before, and compared
the first line with maybe the first or second or third or
fourth. They may be in different order, but the intent to
clear the screen or to print a message on the screen is
there, whether it's second or fifth or seventh, it's there,
and what I tried to do was to give an approximate fractional
part converted to a percentage of parts that were the same.
In one particular case, I asked whether I should include or
not include D-O-S, S-E-A-R-C-H, whether I should include
those or not because if I were to include those, I'd have to
count one more that didn't match in my estimation of the
percentages because they were very similar.
Q Now, in response to later questions in which you were
asked how many CD-ROM file retrieval programs, you indicated
that you had actually seen four of them?
A Yes, I had only seen the source code on four.
Q And - - But early on in the cross examination, you were
asked whether you were acquainted with file retrieval
programs in general and you said that you, I think, given
quite a different response?
A Yes, that's generally what I do. I extract data from
either floppy drives or hard drives and now that CD's are
becoming available, I extract data off of them both total
files as well as sub-parts of files.
Q Well, what are file retrieval programs used for, other
than retrieving files from CD-ROM disks?
A I can think of two main purposes, number one to retrieve
files that you absolutely do know the name of or have some
inkling where to find it, and I see a more powerful one being
a search capability, saying I don't know where it is on that
massive disk, but I know I'm looking for certain key words,
and I should be able to interact with this program to say I
want to look for football statistics.
THE COURT: Like any other indexing problem, isn't
it?
THE WITNESS: Exactly, Your Honor.
BY MR. KITCHEN:
Q Well then were there file retrieval programs before
there were CD-ROMs?
A There have been file retrieval programs since about
1951.
Q And have file retrieval programs since 1951, have they,
have they changed markedly in terms of structure or design?
A Structure, no. They still do what they did forty years
ago. However, due to increases in technology, they now have
devices available to assist you that were never available
before.
Q Of all the file retrieval programs that you have either
written or worked with or seen, do they have any kind of
common elements in their design?
A Yes.
Q Could you just off the top of your head kind of outline
for us what the basic common elements found in virtually ever
file retrieval program there are, if there are some?
A As Your Honor pointed out, it's an indexing system. It
lists the categories or titles that are available for
searching. It would be crazy if you had a disk that had
sports statistics on it to try to look up populations of
foreign countries. So there's going to have to be some kind
of indexing of topics that are available and also the display
of these topics that are available to the user. So, when the
opening screen comes up, there's some kind of announcement
that this file retrieval system permits you to explore data
or topics in these narrow field of topics.
Q All right. Then any other elements common to a file
retrieval system, what else does it do?
A The ones that I'm familiar with also allow you, once
you've selected a topic and you've found it, to take your
results and either put it on the screen, number one, onto a
line printer, if one happens to be attached, number two, or,
number three, to take this extracted data or file and put it
on a floppy disk that you can take with you.
Q In other words, once you found something now what are
you going to do with it kind of thing?
A Yes.
Q One of the modules that you happened to look at was a
thing called the goodbye module?
A Yes.
Q Is the goodbye module, whether it has that name or not,
is that common to file retrieval systems?
A Most programs upon termination let the users know that
the program is now terminated. For example, there are some
programs when you're done the screen goes blank, you return
to the C prompt and that's it. You're left guessing, am I
out? Did I accidentally press the shell key and I've got to
type exit to get back in? Is this program still in memory?
Can I get it back? However, if there was some kind of
confirmation at the end that you were, indeed, done, the
program has terminated, you are now returned to what's called
the command line, I just think that speaks highly of whatever
program it's used on.
Q Is this somewhat akin to having a telephone
conversation, the difference between somebody saying goodbye
and click versus being disconnected?
A Yes. It is, again, a confirmation that the program has,
indeed, ended normally. It wasn't an aberration.
Q You indicated that there were about, let me see, how
many modules did you say were in Plaintiff's Exhibit 50?
A Forty-eight, I believe.
Q Okay. Were you able to identify the use for each one of
those modules?
A No way. I went to the first one, this DIR one, that was
the one I spent four hours on.
Q Uh-huh.
A I go oh my God, there's 48 modules here times four
hours. That's 160 hours. I can't do that.
Q Well, in actual fact, you could do that, but it would
require - -
A A month.
Q Is it true that in analyzing one module - - Well, are
the modules in isolation or do they relate to other modules?
A I don't understand.
Q Well, in other words, if you were analyzing one module,
does that carry you into or involve you into looking at the
other modules?
A Yes, that's what took the time.
Q Oh. So, in fact, in looking at one module, say DIR,
you, in fact, looked at other modules as well?
A I think twelve.
Q Did you also look at the main module?
A Yes.
Q Did you find any modules that had no apparent use?
A Yes.
Q What modules were those?
A There was a module called N-E-W-E-N-V - -
Q Uh-huh.
A - - that I didn't see used. That doesn't mean that it
wasn't used. I just didn't see it used.
Q Is it possible that a programmer could actually include
a module in his source code that the program would actually
never utilize?
A Yes.
Q Now, do you ever give assignments to your students that
involve just simply writing programs such as a file retrieval
program from scratch?
A Not that sophisticated.
Q Uh-huh.
A But I've given students assignments where they have to
extract data off a hard drive and print me out a report of
data that match certain criterion that I specify.
Q So, it would be on a somewhat smaller scale than a
regular file retrieval program?
A Yes.
Q And on those occasions, would you expect these students,
based on the knowledge and training that you've given them to
be able to do this from scratch?
A Absolutely. They have to.
Q So you wouldn't give them another program to copy or
work from?
A I would show them bits and pieces in a classroom
lecture. They are also free to consult their textbook for
similar kinds of examples where you open a file, where you
read the first line of data, where you look at the data to
see whether it's what you want, if so, process it. If not,
go back and look at the second line. However, what I will do
is I will change the actual assignment so that in order to
guarantee that I - - that they understand what they're doing,
I will particularly change either the file length or where
it's going to be found, or I'll throw some monkey wrench into
or just to make sure that they haven't lifted it out of the
textbook or just made a minor modification to something that
we have done in class.
Q When you - - When you give an assignment for the writing
of a program, do the students like hand in their source code
and that sort of thing?
A Yes, they hand in both their source code and the output.
Q How many students do you have at one time?
A It varies anywhere from a low of eleven up to thirty-
five.
Q So you're looking at a lot of source code and executable
files?
A Yes.
Q When you've given the same assignment, the same end
result you've requested, to what extent do you expect
similarity in the source code that's turned in by your
students?
A In some instances, there is one and only one way to open
a file for access. I expect those modules to be identical
from student to student to student. However, when it comes
time for the actual processing, how did you check to see if
this is the data that you wanted and what did you do with it
first, second and third. That will vary from student to
student. Even then, sometimes students will independently
come up with the same approach and essentially use the same
logic, different words but use the same logic in going from
point A to point B.
Q I take it if one student simply copies his friend's
homework and tries to hand that in that that doesn't meet
your academic standards?
A Absolutely not. That's grounds for expulsion.
Q Do you happen to know approximately how many modules
there are in the other two programs, 48 and 49?
A I stopped at a hundred.
MR. OSTROWSKI: Which exhibit?
MR. KITCHEN: Either one or the other.
MR. OSTROWSKI: I don't know what he - -
THE WITNESS: Exhibit No. 48 was the one that I was
going to do, but it - - I looked at it and I just kept a
manual count as to how many modules there were to check when
I was thinking about coming back in November or December just
to gauge myself to see how many there were, and I believe
there was close to a hundred or one exceeded a hundred and
one was close to a hundred.
BY MR. KITCHEN:
Q Now, in the DIR module, you had indicated that there was
a new feature that involved this up and down and left and
right arrows which allowed a person to select a particular
category or name or something, was that something you had
noted, I think in the comparison of 48 and 50?
A Yes.
Q Did you indicate that you had not seen that applied to a
file retrieval system before?
A Not of that vintage, no. It's very commonplace today.
Q Now, of that vintage, what are we talking about in terms
of vintage? What was your impression as to when this was
done?
A I don't know exactly when this was done. I can't
testify to that. I can only testify as to the chronology of
night owl CD-ROMs.
Q Oh.
A I would have to go back and see when this first
appeared, what number it first appeared on, check the
copyright to find out when that did appear. However, it's
been around for several of them. It's not something new to
ten or nine or eight or seven. I looked at those. They all
have that feature.
Q Well, maybe I want to get some grasp of this idea of
vintage. You say they're quite common now. How far back are
you going to say that that kind of feature in a file
retrieval program is fairly common, you going back a few
months, you going back a few years, what?
A The - - Are you referring to the up/down or the mouse?
Q The up/down.
A The up/down file retrieval programs have probably been
around, I can just go on my experiences, I've seen them in
file retrieval program as early as 1986, 1985.
Q Okay.
A However, on these CD-ROMs, I haven't seen them since,
the earliest that I can recall seeing them is 1991. So, it's
a matter of a few years, not a few months. They've been
around for a few years on CD-ROMs.
Q And you mentioned a mouse. And, by the way, can you
tell us just briefly what is a mouse?
A A mouse is a pointing device. It's held in either the
left or right hand that as you move left, some kind of
pointer or some kind of action on the screen occurs on the
left. As you move it right, it moves right. Typically, you
either have a pointer or a highlight area on the screen.
Once you have the pointer positioned to your desired option,
there are two buttons. Typically most people are right
handed, so you press the left button, and that will signal
the computer that that is what you want rather than typing in
a six or a twenty-two or thirty-seven. You just move your
mouse to the pointer on top of the 22 or the highlight on top
of 22 if they're numbered and just click the button.
Q Now, is a mouse usable any place that a keyboard would
be usable on any kind of program?
A The computer has to have the appropriate equipment as
well as the software to make use of a mouse.
Q A mouse is fairly common?
A Yes.
Q And is there anything special that has to be done in
writing a program if the writer of the program anticipates or
wants a mouse to be useful to him?
A Yes.
Q What do you have to do that's different?
A When you are looking for the user to input either from
the keyboard or from the mouse, you have to instruct the
computer to sense whether the mouse has been moved, and if
the mouse has been moved, in what direction and what are its
current coordinates on the screen. Linking up the current
coordinates of the mouse on the screen with the option that
is lying below it on the screen, not taking any action until
the left mouse button is clicked to confirm that that's what
the user wanted to do. It wasn't an accidental bump of the
mouse.
Q I think when you testified before, you indicated anytime
somebody pressed a key on the keyboard that it placed a
character, whatever you pressed, into an area of memory
called a keyboard buffer, correct?
A Correct.
Q Does a mouse kind of work the same way?
A No.
Q So there's not a mouse buffer with the latest position
or that sort of thing on it?
A Usually when you attach a mouse to a computer, you also
put in a program called M-O-U-S-E that makes the mouse work.
What that does is it tells the interrupt driver that if
something is moved on the mouse, I moved, and it's up to the
program to take into account whether to service that
interrupt or not. If a program is not mousable, as we call
it, then it just says, well, too bad, we're not going to take
care of that. But if it is mousable, a program would have to
take into account that interrupt that some action occurred,
should I service it, should I take care of it or not.
Q All right. Does the program that had the source code of
Exhibit 50, does that take a mouse?
A Not that I'm aware of. I actually ran the program with
a mouse, clicked the mouse, moved the mouse, pressed it both
times. I could get no response from that program.
Q Did the programs in 48 and 49, did they involve the use
of a mouse or can they?
A Yes. As you would - - As a user would expect, as you
use the mouse up, the highlight bar moves up. As you move
the mouse left, the highlight bar moves left. Once you have
an object that you want executed, you click on it. It works
as it should.
Q Now, also in the DIR module, you had indicated a feature
- - well, not so much a feature but an approach I think you
used as was your term, and you said that in some respects, 48
actually did less and 50 kind of did more and re-read certain
things. Could you tell us again what this, what the
difference was?
A On the CD-ROM, there is a file that keeps track of all
the categories that are on that CD-ROM.
Q Is that the, is that the DIR file?
A I can't be sure. I'd have to take a look at some
previous exhibits that you have.
Q Oh. I only say that because there was, been some
previous testimony from others about it, but go ahead.
A If you want me to look at the exhibits, I will, and I
can tell you exactly what it is.
Q No, but what is on it, in any event?
A In that particular file, it lists each category that's
available on the CD-ROM. So if you read just one file, you
can find out exactly what's on that CD-ROM.
Q Those are categories like communication, education, word
processing, those things?
A Exactly.
Q All right.
A So going one place, you can get it all, what's
available. In the DIR program on Exhibit No. 50, when it
came time to put the categories on a screen as it had to, it
would go to that file, read that file and display them on the
screen, as well it should. When it left the main menu, as we
call it, and went to do something else, whether it was a DOS
command extract a file or whatever, when it came back, it
went back to that same file and read it again and displayed
it on the screen. Nothing wrong with that other than it's
redundant. It really didn't have to be done that way, but it
was one approach to getting the job done. When I examined
that same module that read the directory in both exhibits,
No. 48 and 49, the authors of this exhibit chose a different
approach but achieved the same result. They read the file
from whatever it's called, but they stored that data into an
array, stored it inside the computer so it would not have to
be read a second, a third, a fourth time. I found that to be
particularly efficient in that when you left the main menu,
went to do an extract or DOS program and came back, it was
there. It didn't have to spend time getting the data from
the file a second or a third time. It was just - - They did
exactly the same thing. It was just a different approach to
do it.
Q Can you tell us what a string literal is?
A A string literal is a sequence of characters. They can
be anything. They can be like Steven Brown. They can be 123
Main Street. They can be Erie, PA. They can be absolutely
anything. Enclosed inside quote marks that when encountered
the computer will take that literally, what you see is what
you get. So when you have a string literal, whatever you
want to do with it, the computer takes it exactly as you
typed it in. That's what the literal means. But it's
characters. You cannot do mathematics with it.
Q Well, would that include any of the messages that appear
on the screen in kind of plain English when you're operating
the program?
A Yes.
Q Could that be differentiated from, let's say, the
category names themselves? Were those string literals?
A The category names themselves were not string literals.
They were data stored on a disk that was retrieved into the
computer and stored as a string variable to be displayed on
the screen.
Q So we see a screen with English words on it. Some of
the English words may be string literals from the operating
program itself, and others may be data that have been pulled
from a separate file?
A I would expect to see a combination, yes.
Q Although it's not necessarily readily apparent to
somebody looking at a - -
THE COURT: Who's testifying?
MR. KITCHEN: I'm sorry, Your Honor.
BY MR. KITCHEN:
Q Well, would it be, would it be literally - - Well, would
it be readily apparent to any user to sees a screen with some
English words on it as to whether the words are string
literals from the application program or whether they are
data from some place else?
A I couldn't tell sometimes. So, no, it would not be
apparent to a user.
Q Are you acquainted with the term G-I-F file or GIF file?
A Yes.
Q What is it?
A Typically files have two parts that are named. The
first part is called the file name, which is some kind of
general description, and then the second part of the name,
which is called the extension, attempts to identify a little
bit about that file. For example, I have a program, I have a
data file called P-A-Y-R-O-L-L.D-A-T. It contains payroll
data. Now this file that you mentioned, G-I-F, this stands
for a picture file, something that has either been digitized
or has graphically been rendered on a computer and saved to a
disk. So G-I-F is a, some kind of a graphics or a picture
file.
Q And, by the way, since you mentioned this idea of
extensions, we'd been dealing with a number of these programs
that had extensions E-X-E. What is that one?
A E-X-E typically - - There's no rule that says an
executable file has to end in E-X-E, but most do. That's
over 99 percent of executable files end in either E-X-E or C-
O-M, depending upon where they're executed in the computer's
memory.
Q Well, back to the G-I-F files, how does one get to look
at this? If the G-I-F file is a picture, how does one get to
look at the picture?
A It's not really a picture. It's a series of codes that
indicate what pixel of light to turn on and what color to
turn it on to. Again, your screen is a very large matrix and
most of the G-I-F's that I'm familiar with, the older ones
were 320 points of light across by 200 points of light up and
down, 60,000 points of light on that screen, and in this G-I-
F file would be the location of the point of light to turn on
and what color to turn it on to. In order to actually see
any kind of picture, you need a translation program, a viewer
as they're called, that will take those codes in, turn the
appropriate points of light on the screen and to the
appropriate color.
Q And, by the way, you previously described the screen
consisting of a matrix 80 columns wide by 25 rows down. Now
you're saying it's got 60,000 - -
THE COURT: Not squares, points of light.
BY MR. KITCHEN:
Q Points of light.
A Yes.
Q Is there - - Are we - - Are we saying that there's a, in
one sense, there's one kind of matrix, another sense another
kind of matrix?
A There are several screens that are available on the
computer. The 80 by 25 is called the text screen. Now, each
one of those squares, and I did not say point of light, each
one of those squares - -
THE COURT: You did say that but you didn't mean
it.
THE WITNESS: No, I believe squares was the correct
term. I could be wrong. But anyway - -
THE COURT: What did you say? Squares?
THE WITNESS: Squares or blocks. Each one of those
blocks is made up of eight points of light horizontally and
maybe twelve points of light vertically.
THE COURT: So we do come back to points of light?
THE WITNESS: Yes. So on a text screen, you have
80 rows of blocks and there's 25 rows, but each one of those
blocks is made up of tiny points of light. If you've ever
looked at a scoreboard where they have the numbers or the
time, it's not a fluid number. It's not continuous. You can
actually see the little points of light that make up the
number. That would be a pixel.
BY MR. KITCHEN:
Q So when we put in text, we're putting in a block at a
time?
A Correct.
Q But when we're drawing, making a picture, we do it with
little points of light?
A Correct.
Q And does it take a particular kind of program to be able
to turn one of the GIF files into a picture?
A Yes.
Q What do we call those kind of programs?
A We call them viewing programs.
Q Viewing programs.
A Or viewers viewing programs.
Q Now, what did 48 or 49 do with respect to these GIF
files that 50 could not do, if that's the case?
A I'm not saying that 50 couldn't do. I didn't examine
the total program to see if, indeed, there was a viewing
portion in it. You will have to either check with the author
or have me come back again sometime to look for that
particular one. But the Exhibit No. 48 and Exhibit No. 49
did allow you to view a picture by pressing the appropriate
letter and then going some place else and getting the viewing
program so that you could actually see it to see if do I want
to get this one, why should I take it off the disk if it's no
good or the quality's poor or maybe it is really good. I
want to take it off the disk and put it on my floppy. So you
might want to try before you buy, so to speak.
Q Did you notice in any part of 48 or 49 a feature which
allowed the user to print out or send to a printer any
particular file or portion of a file, that sort of thing?
A I don't have it in my notes, so no, I can't testify to
that. I don't have it here. I could look if you'd like me
to.
Q And by the way, to determine whether or not a program
does something, is it necessary to look at the source code or
analyze the source code to do that?
A You could always run the program.
Q Okay.
A And see whether it comes up on the screen and if it
does, try it. And if it works, by golly, it was in there.
If it doesn't appear on the screen, maybe it was in there,
but just not invoked.
Q If you were asked to write a file retrieval program for
a CD-ROM and you were given just a general verbal, oral
description of gee, Professor, this is what I would like it
to do, okay, and this is kind of how I want it, could you,
could you write a CD-ROM file retrieval program for that?
MR. KITCHEN: Are we on fire, Your Honor?
THE WITNESS: I'm sorry, I got distracted.
MR. KITCHEN: Oh, okay. The witness is a teacher,
Your Honor, and he probably figures class is over.
THE WITNESS: No.
THE COURT: It should be.
MR. KITCHEN: Yes, indeed.
BY MR. KITCHEN:
A Okay. Professor Brown, if you were just given an oral
order or request for somebody, could you write a file
retrieval program with a CD-ROM? I'd like it to do a number
of things, list some categories, allow me to pull up files
and do various things, and I'd like to be able to format a
floppy here and there, and I'd like to maybe print something
out occasionally, and I'd like to view picture files, if
possible. What's - - Is that a task you could take on as a
programmer?
A Yes.
Q And if you did take a task on like that, how long, how
big a project are we talking about?
A Depending upon - -
THE COURT: Until done.
THE WITNESS: Depending upon how many options that
the employer wanted, I would think with my background, I
could probably have it done within 40 to 60 working hours,
but I would need additional information. Number one, the
file structure is just critical to the operation of this
whole thing. I couldn't even proceed without that. I would
need to know what categories to include or what file are they
located on the disk. I'd absolutely need those. After I
knew what categories existed, I would have to find out what
schema was used to - -
THE COURT: Were you whistling in the hallway? We
heard all kinds of whistles.
BY MR. KITCHEN:
Q I'm sorry, Professor, go ahead.
A I would need to - -
THE COURT: My apologies.
THE WITNESS: Not a problem. I would need to know
the structure of the files, where are the communication files
on this disk. I can't retrieve something I don't know where
they are. I would need to know where communications were,
where the graphics were, where the basic were, where these
GIF files that you talked about were. I would have to know
the file structure before I could even proceed.
BY MR. KITCHEN:
Q So this ordering of your services would have to involve
a bit of two-way communication between you and the person who
was hiring you, right?
A Sure. Plus I'd ask if he would have or she would have
any examples of what they were considered good so that I
could give them back something similar but written from
scratch totally new.
Q Okay. Would it help then if they said, well, gee, we
have a retrieval program from before and we don't have the
source code but we have a CD-ROM where it's on and we could
show you what it looks like. Would that be a help?
A It would be great help because I could see exactly how
it was, and I could actually try some things right then and
there without worrying about the mastering of a new CD-ROM
and whether they did it right or whether they set up the
files properly. I could actually test run my retrieval
system on an existing data base.
Q Would you then need, though, to have the source code for
that original prior program?
A We're getting in a sticky issue here.
Q Why do you say it's a sticky issue?
A When I write programs for my clients, I tell them up
front, you're paying me for hire, this is yours. When I
write that exact program for somebody else, I just can't copy
what I did and give it to somebody else and get paid twice.
That's unethical. I don't know whether it's illegal. That's
for the courts to decide. I don't do that. I just won't re-
use a program and put somebody else's name on it. Now, if
the person that wanted me to work on his file retrieval
system owned the code or had some kind of agreement that they
owned the code, would I look at their source card? Probably
yes to see how that author did it, and depending upon whether
I agreed or disagreed with how that author did it, I might do
something similar, or I might choose to do it totally
different based upon my experiences.
Q Well, you've had that opportunity, of course, to look at
Exhibit 50 of an example of some prior code. How helpful
would 50 be to you if you were in the position of having to
come up with a new and improved file retrieval system that
had all the features that you found on 48 and 49?
A In this particular example, looking at Exhibit No. 50 as
I have done in the past, it would not help me. I would
choose to do it differently, and I would write it from
scratch. I'd just say that program works, it does the job,
but now I'm going to do it my way.
MR. KITCHEN: I have no further questions.
THE COURT: Anything, Mr. Ostrowski?
MR. OSTROWSKI: Just a moment, Your Honor.
RECROSS EXAMINATION
BY MR. OSTROWSKI:
Q Professor, you said it would be a great help to see this
pre-existing CD-ROM operate?
A Yes.
Q Is that so that you could see how the file retrieval
program works?
A Yes, and ask the employer if that's what he or she
wanted. In many cases, my toughest job is digging out from
my client what in the heck do you want. I can't tell you how
many times I've done something, I take it back to them, and
they say, Steve, you did exactly what we wanted, but this
isn't what we wanted. And then I - -
Q If someone came to you and handed you a CD-ROM that had
the file retrieval program, Plaintiff's Exhibit 50 on it, and
asked you to operate that and replicate that and add a few
more features, that would be quite helpful, wouldn't it?
A Seeing the CD how it functions?
Q Yeah, seeing the file retrieval function?
A Yes.
Q Okay. But you don't think it would be helpful to see
the actual source codes of 50?
A I couldn't make that determination until I looked at it.
Q Well, you have looked at it. You have looked at 50.
I'm asking you if that would not - - that's not helpful to
you to see the source codes of 50 and it's not?
A No.
Q Is it more helpful to compare programs by looking at
source codes or simply by using them as the consumer would
use them?
A It's a mixture of both, and it depends upon what it is
that the employer wants. Sometimes I've been in a situation
where I've been asked to change a program that already exists
to do an additional feature, in which case I just go in and
try to follow what the author left me figuring out as best I
can what's happening here and make the adjustment that the
employer is paying me for.
Q Are you changing your prior testimony that you expect to
be paid?
A No.
Q You do expect to be paid?
MR. KITCHEN: I'll object to that, Your Honor.
That is beyond the scope of recross - - or redirect.
THE COURT: It is beyond the scope.
MR. OSTROWSKI: No further questions.
THE COURT: Nothing, Mr. Kitchen?
MR. KITCHEN: No.
THE COURT: All right. Let me get into this area
that had been covered earlier. You're here, are you here
pursuant to a subpoena?
THE WITNESS: No.
THE COURT: What impels you to be here as a
witness?
THE WITNESS: I've been a computer user for, since
1968. I've tried to keep up with all of the technical
advances and I can't, and when these CD-ROMs came out, I just
thought they were the greatest thing in the whole world; and
I've been a very faithful fan of Night Owl Productions.
THE COURT: In what way and for how long?
THE WITNESS: Since about 1991, I've seen Night
Owl, I think it was called Cars or something before, CD's
available on the bulletin boards, and this was the first time
that I had seen this massive amount of data, programs,
anything I wanted. I was like a kid in a candy store trying
to pick and choose, and I just thought it was really great.
Then I found out that you could buy these things, and they
were clunky at first, and we know about clunky. And they're
getting better and better and better, and I bought a couple
of the competitors. There's a local outfit in town called So
Much Shareware. It's put out by Chuck Dearbeck. He's a nice
enough guy, but it doesn't have the same quality. It doesn't
have the same good reputation that Night Owl does. I never
met Richard Graham prior to Tuesday. He called me on the
telephone and he said that he had a problem, a legal problem,
and that he had found out that I was a professor teaching
programming at a university and would I testify in his
behalf.
THE COURT: And he also found out that you were an
aficionado of Night Owl?
THE WITNESS: Well, that helped.
THE COURT: Did he, did he say he knew that?
THE WITNESS: No, he did not know that.
THE COURT: I see.
THE WITNESS: Since then he does know that.
THE COURT: Yeah.
THE WITNESS: I purchase my Night Owl disks from
whoever has the cheapest price, and you're not the cheapest.
I go to the discounters, and I buy them because they're good
quality. They have a reputation of having good, current,
non-duplicatable stuff on them.
THE COURT: All right. You're here then to be
promotive of and protective of Night Owl?
THE WITNESS: As far as it tells, as far as it
means telling the truth, yes.
THE COURT: Oh, sure. If it's true.
THE WITNESS: Yes.
THE COURT: I'm not indicating you're lying or
anything like that. I just wanted to know about the whole
impulse. One you said very clearly is your own practice and
work you wouldn't copy anybody else's product at all. That
would be unethical.
THE WITNESS: People go to jail for that, Your
Honor.
THE COURT: Yes. Now, does that - - Is there
something in this situation that seems to you to be unethical
that you're here to squash and put down?
THE WITNESS: I've asked myself that fifty times
this past week, who copied what. It's clear to me - -
THE COURT: Have you made a judgment on that?
THE WITNESS: One black and white one, one gray
one.
THE COURT: Would you put those on the record for
me?
THE WITNESS: Exhibit No. 48 and 49 show close
collaboration. Looking at the code, 90, 95 percent of the
code is identical. You'd have to check to see who maintains
the copyrights to these. It's apparent to me that No. 48 is
a rework of No. 49. There's no question about it. It's a
rework. If each one is claiming their own work, whoever had
it first is the copyright holder and whoever did the second
one copied it.
THE COURT: Is this the black area?
THE WITNESS: Yeah, that's black and white.
THE COURT: All right.
THE WITNESS: There's no question about it.
THE COURT: Black and white. Now the gray?
THE WITNESS: Two grays. Program No. 50 works.
Program No. 49 works similarly. They do the same thing.
Looking at the modules that cause each action to occur, it's
my opinion they were done independently. Did No. 49 have
access to what No. 48 did by viewing it on the screen? Yes.
You could have that access by paying 29.95 down at the local
computer store and seeing how it happens. That's the gray
area. I do not feel that No. 49 or No. 49 copied lines from
No. 50, did not copy. Do they accomplish the same goal? The
answer is yes, but that's the design, to retrieve files, to
view files.
It's pretty clear to me that 48 and 49 were done
independently of the source code of 50. Was 48 and 49 done
independently of seeing No. 50 actually work on a computer, I
don't know, Your Honor.
THE COURT: Are you here to see, for example, to
within the bounds of right is right and so forth, to see
that, for example, that Mr. Graham and Night Owl are
protected?
THE WITNESS: If they have the first source code on
it, absolutely.
THE COURT: Yeah.
THE WITNESS: And if not, that's the way it goes.
THE COURT: All right. Had you known anything
about Mr. James?
THE WITNESS: Only that I saw his name at the top
of the program. I've never met the gentleman.
THE COURT: All right. I have nothing more. Thank
you.
THE COURT: All right. We're Tuesday morning, nine
o'clock. Thank you. Sorry to bother you.
THE WITNESS: Do I come back?
THE COURT: No. Thank you very much. You'll want
to leave some of your papers, I know, because certain things
have been marked. You may not want to, but you may have to.
THE WITNESS: That's all right.
THE COURT: All right.
(Hearing adjourned 1:10 p.m.)
I N D E X
Further
Direct Cross Redirect Recross Redirect
WITNESS FOR THE
PLAINTIFF
Stephen Brown 3 55 83
EXHIBITS: Marked Received